package com.triplelink.to.steak;

import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Stack;


public class InstanceBlockTO
{
	private String disvoredLabelId;
	private Class<?> entityClass;
	private InstanceBlockTO owner;
	private String ownerProperty;
	private Map<String, InstanceBlockTO> objects = new HashMap<String, InstanceBlockTO>();
	private List<Stack<String>> ciclesStacks;
	private String endCicleLabelId;
	private StringBuilder cicleEdge;
	
	public InstanceBlockTO(String disvoredLabelId, Class<?> entityClass)
	{
		this.disvoredLabelId = disvoredLabelId;
		this.entityClass = entityClass;
	}
	
	public InstanceBlockTO(String disvoredLabelId, InstanceBlockTO owner, String ownerProperty, Class<?> entityClass)
	{
		this.owner = owner;
		this.ownerProperty = ownerProperty;
		this.disvoredLabelId = disvoredLabelId;
		this.entityClass = entityClass;
	}
	
	public void putObject(String propertyUri, InstanceBlockTO item)
	{
		objects.put(propertyUri, item);
	}

	public InstanceBlockTO getOwner() {
		return owner;
	}

	public void setOwner(InstanceBlockTO owner) {
		this.owner = owner;
	}

	public Class<?> getEntityClass() {
		return entityClass;
	}

	public String getOwnerProperty() {
		return ownerProperty;
	}

	public String getDisvoredLabelId() {
		return disvoredLabelId;
	}

	public Map<String, InstanceBlockTO> getObjects() {
		return objects;
	}

	public List<Stack<String>> getCiclesStacks() {
		return ciclesStacks;
	}

	public void setCiclesStacks(List<Stack<String>> ciclesStacks) {
		this.ciclesStacks = ciclesStacks;
	}

	public String getEndCicleLabelId() {
		return endCicleLabelId;
	}

	public void setEndCicleLabelId(String endCicleLabelId) {
		this.endCicleLabelId = endCicleLabelId;
	}

	public StringBuilder getCicleEdge() {
		return cicleEdge;
	}

	public void setCicleEdge(StringBuilder cicleEdge) {
		this.cicleEdge = cicleEdge;
	}
}